TOASCII-_TOUPPER

            #include <ctype.h>
            int toascii(c)        преобразует "c"  в  символ  ASCII
            
            int tolower(c)        преобразует  "c" в символ верхнего
                                  регистра   (в   строчную букву),
                                  если это возможно
            
            int _tolower(c)       преобразует "c"  в строчную  букву
            
            int toupper(c)        преобразует "c"  в символ  нижнего
                                  регистра (прописную букву), если
                                  это возможно
            
            int _toupper(c)       преобразует "c"  в символ  нижнего
                                  регистра
            
            int c;                преобразуемый символ
               

Описание.
Макро toascii, tolower, toupper и _toupper преобразуют символ "c" так, как описано ниже.
Макро toascii устанавливает первые 7 битов "c" в нуль так, что преобразованное значение соответствует символу ASCII . Если "c" уже соответствует ASCII, то он не изменяется.
Макро tolower преобразует "c" в строчную букву, если "c" соответствует прописной литере. Иначе "c" не изменяется.
Макро _tolower является версией tolower , использующейся только тогда, когда "c" прописная буква. Если это не так, результат выполнения _tolower не определен.
Макро toupper преобразует "c" в строчную букву, если "c" не является строчной буквой. Иначе "c" не изменяется.
_Toupper является версией toupper , используемой только тог да, когда "c" строчная буква. Если "c" не является строчной буквой, то результат не определен.

Возвращаемое значение.
Макро toascii , tolower , toupper и _toupper возвращают пре образованный символ "c". Возвращаемого значения в случае ошибки нет.

Замечание.
Эти процедуры реализуются как макро. Однако tolower и toupper также реализуются и как функции, т.к. версии макро некорректно обрабатывают аргументы с побочными эффектами. Версии функций могут быть использованы, если удалить макроопределения директивой #undef или не подключать <ctype.h> . Определения функций tolower и toupper даны в <stdlib.h>.

Пример:

               
               #include <stdio.h>
               #include <ctype.h>
               int ch;
               
               /*следующие операторы анализируют все
         **символы между кодами 0х0 и 0х7f.
         **Макро toupper и tolower применяются
         **для  любых кодов.  _Toupper и _tolower
         **применяются только для кодов, имеющих
         **смысл */
               
               for (ch=0; ch<=0x7f; ch++)  {
                   printf (" toupper=%#04x", toupper (ch));
                   printf (" tolower=%#04x", tolower (ch));
        
         
                   if (islower(ch))
                      printf(" _toupper=%#04x", _toupper(ch));
                   if (isupper(ch))
                      printf("_tolower=%#40x", _tolower(ch));
                   putchar ('\n');
                   }
            
      
Hosted by uCoz